/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.h
  * @brief          : Header for main.c file.
  *                   This file contains the common defines of the application.
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
  */
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */

/* USER CODE END ET */

/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */

/* USER CODE END EC */

/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */

/* USER CODE END EM */

/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);

/* USER CODE BEGIN EFP */

/* USER CODE END EFP */

/* Private defines -----------------------------------------------------------*/
#define ALM4_Pin GPIO_PIN_0
#define ALM4_GPIO_Port GPIOC
#define ZERO4_Pin GPIO_PIN_1
#define ZERO4_GPIO_Port GPIOC
#define ALM5_Pin GPIO_PIN_2
#define ALM5_GPIO_Port GPIOC
#define ZERO5_Pin GPIO_PIN_3
#define ZERO5_GPIO_Port GPIOC
#define STEP1_Pin GPIO_PIN_0
#define STEP1_GPIO_Port GPIOA
#define STEP2_Pin GPIO_PIN_1
#define STEP2_GPIO_Port GPIOA
#define STEP3_Pin GPIO_PIN_2
#define STEP3_GPIO_Port GPIOA
#define LIM1_Pin GPIO_PIN_4
#define LIM1_GPIO_Port GPIOA
#define LIM2_Pin GPIO_PIN_5
#define LIM2_GPIO_Port GPIOA
#define LIM3_Pin GPIO_PIN_6
#define LIM3_GPIO_Port GPIOA
#define OK_Pin GPIO_PIN_7
#define OK_GPIO_Port GPIOA
#define ENA1_Pin GPIO_PIN_4
#define ENA1_GPIO_Port GPIOC
#define DIR1_Pin GPIO_PIN_5
#define DIR1_GPIO_Port GPIOC
#define ENA2_Pin GPIO_PIN_0
#define ENA2_GPIO_Port GPIOB
#define DIR2_Pin GPIO_PIN_1
#define DIR2_GPIO_Port GPIOB
#define ROT_TX_Pin GPIO_PIN_10
#define ROT_TX_GPIO_Port GPIOB
#define ROT_RX_Pin GPIO_PIN_11
#define ROT_RX_GPIO_Port GPIOB
#define VALVE1_Pin GPIO_PIN_12
#define VALVE1_GPIO_Port GPIOB
#define VALVE2_Pin GPIO_PIN_13
#define VALVE2_GPIO_Port GPIOB
#define VALVE3_Pin GPIO_PIN_14
#define VALVE3_GPIO_Port GPIOB
#define ENA3_Pin GPIO_PIN_15
#define ENA3_GPIO_Port GPIOB
#define ENC_A_Pin GPIO_PIN_6
#define ENC_A_GPIO_Port GPIOC
#define ENC_B_Pin GPIO_PIN_7
#define ENC_B_GPIO_Port GPIOC
#define LEDG_Pin GPIO_PIN_8
#define LEDG_GPIO_Port GPIOC
#define LEDR_Pin GPIO_PIN_9
#define LEDR_GPIO_Port GPIOC
#define ENC_S_Pin GPIO_PIN_8
#define ENC_S_GPIO_Port GPIOA
#define BT_TX_Pin GPIO_PIN_9
#define BT_TX_GPIO_Port GPIOA
#define BT_RX_Pin GPIO_PIN_10
#define BT_RX_GPIO_Port GPIOA
#define DIR3_Pin GPIO_PIN_11
#define DIR3_GPIO_Port GPIOA
#define ENA4_Pin GPIO_PIN_12
#define ENA4_GPIO_Port GPIOA
#define DIR4_Pin GPIO_PIN_15
#define DIR4_GPIO_Port GPIOA
#define DROP1_Pin GPIO_PIN_10
#define DROP1_GPIO_Port GPIOC
#define DROP1_EXTI_IRQn EXTI15_10_IRQn
#define DROP2_Pin GPIO_PIN_11
#define DROP2_GPIO_Port GPIOC
#define DROP2_EXTI_IRQn EXTI15_10_IRQn
#define DROP3_Pin GPIO_PIN_12
#define DROP3_GPIO_Port GPIOC
#define DROP3_EXTI_IRQn EXTI15_10_IRQn
#define ENA5_Pin GPIO_PIN_2
#define ENA5_GPIO_Port GPIOD
#define DIR5_Pin GPIO_PIN_3
#define DIR5_GPIO_Port GPIOB
#define OLED_RES_Pin GPIO_PIN_4
#define OLED_RES_GPIO_Port GPIOB
#define STEP4_Pin GPIO_PIN_6
#define STEP4_GPIO_Port GPIOB
#define STEP5_Pin GPIO_PIN_7
#define STEP5_GPIO_Port GPIOB
#define OLED_SCL_Pin GPIO_PIN_8
#define OLED_SCL_GPIO_Port GPIOB
#define OLED_SDA_Pin GPIO_PIN_9
#define OLED_SDA_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */

#ifdef __cplusplus
}
#endif

#endif /* __MAIN_H */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
